Automated and Portable Native Code Isolation

نویسندگان

  • Grzegorz Czajkowski
  • Laurent Daynès
  • Mario Wolczko
چکیده

The coexistence of programs written in a safe language with user-supplied unsafe (native) code is convenient (it enables direct access to hardware and operating system resources and can improve application performance), but at the same time it is problematic (it leads to undesirable interference with the language runtime, decreases overall reliability, and lowers debuggability). This work aims at retaining most of the benefits of interfacing a safe language with native code while addressing its problems. It is carried out in the context of the JavaTM Native Interface (JNI). Our approach is to execute the native code in an operating system process different from that of the safe language application. A technique presented in this paper accomplishes this transparently, automatically, and without sacrificing any of the JNI functionality. No changes to the Java virtual machine (JVMTM) or its runtime are necessary. The resulting prototype does not depend on a particular implementation of the JVM, and is highly portable across hardware architectures and operating systems. This approach can readily be used to improve reliability of applications consisting of a mix of safe and native code; to enable the execution of user-supplied native code in multitasking systems based on safe languages and in embedded virtual machines; and to facilitate mixed-mode debugging, without the need to re-implement any of the components of the language runtime. The design and implementation of a prototype system, performance implications, and the potential of this architecture are discussed in the paper.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Developing a Device for Automated Peritoneal Dialysis

Background: Peritoneal dialysis (PD) is an efficient alternative for hemodialysis. Removal of waste metabolites and excess water from the blood circulation are the two main tasks done during dialysis. These are done by using a filter; in PD, the naturally semi-permeable peritoneal membrane acts as the filter. Automated PD machines control intelligently the operations to enhance the efficiency a...

متن کامل

NaClDroid: Native Code Isolation for Android Applications

Android apps frequently incorporate third-party libraries that contain native code; this not only facilitates rapid application development and distribution, but also provides new ways to generate revenue. As a matter of fact, one in two apps in Google Play are linked with a library providing ad network services. However, linking applications with third-party code can have severe security impli...

متن کامل

Omniware: A Universal Substrate for Web Programming

This paper describes Omniware, a system for producing and executing mobile code. Next generation Web applications will use mobile code to specify dynamic behavior in Web pages, implement new Web protocols and data formats, and dynamically distribute computation between servers and browsers. Like all mobile code systems, Omniware provides portability and safety. The same compiled Omniware module...

متن کامل

Partial Translation: towards a Portable and Eecient Prolog Implementation Technology

We describe a new language translation framework (partial translation) and the application of one of its instances: the C-iication of Binary Prolog. Our partial translation framework compiles selected sequences of em-ulator instructions down to native code. The technique can be seen as an automatic specialization with respect to a given program of the traditional instruction folding techniques ...

متن کامل

Creating Java to Native Code Interfaces with Janet

As Java is being considered an appropriate environment for high performance computing, the interest arises in combining it with existing code written in other languages. Portable Java to native code interfaces may be developed using the Java Native Interface (JNI). However, as a low-level API it is rather inconvenient to be used directly thus the higher level tools and techniques are desired. W...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001